<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://unpkg.com/vue@3"></script>
  <script src="https://unpkg.com/vue-router@4"></script>
</head>
<body>
  <div id="app">
    <p>
      <!-- 使用 router-link 组件进行导航 ，通过传递 to 来指定链接 -->
      <router-link to="/">Home</router-link>
      <router-link to="/about/12">About</router-link>
    </p>
    <!-- 路由出口：路由匹配到的组件将渲染在这里 -->
    <router-view></router-view>
  </div>

  <script>
    // 1.定义路由组件,也可以从其他文件导入
    const Home = { template: '<div>Home</div>' }
    const About = { template: '<div>About</div>' }

    // 2.定义一些路由
    // 每个路由都需要映射到一个组件
    const routes = [
      { path: '/', component: Home },
      { path: '/about', component: About }
    ]

    // 3.创建路由实例并传递 `routes` 配置
    const router = VueRouter.createRouter({
      // 这里使用 hash 模式
      history: VueRouter.createWebHashHistory(),
      routes
    })

    // 4.创建并挂载根实例
    const app = Vue.createApp({})

    // 整个应用支持路由
    app.use(router)

    app.mount('#app')
  </script>
</body>
</html>